package com.chinawayltd.ews.sample.service.basicInfo;

import java.util.List;

import com.chinawayltd.ews.sample.model.TDictInfo;
import com.chinawayltd.ews.sample.model.TDictType;
import com.chinawayltd.ews.sample.model.basicInfo.DictInfoVO;
import com.chinawayltd.ews.sample.web.query.DictTypeGirdQuery;

/**
 * @program: greeProject
 * @description 字典类型及字典项
 * @author: chenxin
 * @create: 2018年5月11日 下午10:43:27
 */
public interface DictService {

	/**
	 * 根据查询条件与分页信息查询列表
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param queryParam
	 * @return
	 */
	List<TDictType> listDictType(DictTypeGirdQuery queryParam) throws Exception;
	/**
	 * 通过id查询
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param id
	 * @return
	 */
	TDictType getDictTypeById(Long id) throws Exception;

	/**
	 * 新增类型
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param tDictType
	 * @return
	 */
	int addDictType(TDictType tDictType) throws Exception;
	 
	/**
	 * 新增字典项
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param tDictType
	 * @return
	 */
	int addDictInfo(TDictInfo tDictInfo) throws Exception;
	
	/**
	 * 修改类型
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param tDictType
	 * @return
	 */
	int updateDictType(TDictType tDictType) throws Exception;
	/**
	 * 修改字典项
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param tDictInfo
	 * @return
	 */
	int updateDictInfo(TDictInfo tDictInfo) throws Exception;
	
	
	/**
	 * 通过id查询字典项
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param id
	 * @return
	 */
	TDictInfo getDictInfoById(long id) throws Exception;
	
	/**
	 * 根据字典类型id查询字典项
	 * @author: chenxin
	 * @date: 2018年5月11日
	 * @param queryParam
	 * @return
	 */
	List<DictInfoVO> listDictInfoByTypeId(Long typeId) throws Exception;
	/**
	 * 校验编号是否为空
	 * @author: chenxin
	 * @date: 2018年5月12日 下午1:41:28
	 * @param id
	 * @param code
	 * @return
	 * @throws Exception
	 */
	TDictType isHasDictTypeByIdNO(long id, String code) throws Exception;
}
